import java.util.HashSet;

//只出现一次的数字
//给你一个 非空 整数数组 nums ，除了某个元素只出现一次以外，其余每个元素均出现两次。
//找出那个只出现了一次的元素。
/*
输入：nums = [2,2,1]
输出：1
 */
class Solution {
    public int singleNumber(int[] nums) {
        HashSet<Integer> set = new HashSet<>();
        for (int i = 0; i < nums.length; i++) {
            //判断是否包含该数字
            if (!set.contains(nums[i])) {
                set.add(nums[i]);
            } else {
                //如果出现两次，则移除该数字
                set.remove(nums[i]);
            }
        }
        for (int i = 0; i < nums.length; i++) {
            if (set.contains(nums[i])) {
                return nums[i];
            }
        }
        return -1;
    }
}